home *** CD-ROM | disk | FTP | other *** search
Wrap
OOOOCCCCCCCC((((1111)))) SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss OOOOCCCCCCCC((((1111)))) NNNNAAAAMMMMEEEE OCC - old (_c_f_r_o_n_t-based) C++ compiler SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS OOOOCCCCCCCC [ option ] ... file ... CCCCCCCC ----uuuusssseeee____ccccffffrrrroooonnnntttt [ option ] ... file ... DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _O_C_C (capital OCC) invokes the _c_f_r_o_n_t translator to translate C++ source code to C source code. Its normal operation is then to invoke the C compiler _c_c(_1) to generate an object file. _C_C will invoke _O_C_C if given the ----uuuusssseeee____ccccffffrrrroooonnnntttt option. In the subsequent discussion below, _C_C refers to _O_C_C. _C_C takes arguments ending in ....CCCC, ....cccc, ....cccc++++++++, ....cccccccc, or ....ccccxxxxxxxx to be C++ source programs. Files with the suffixes ....aaaa ,,,, ....oooo, and ....ssss, are also accepted by the _C_C command and passed to _c_c(_1). _C_C defines the same symbols for preprocessing as _c_c, except that ________ccccpppplllluuuusssspppplllluuuussss and ____LLLLAAAANNNNGGGGUUUUAAAAGGGGEEEE____CCCC____PPPPLLLLUUUUSSSS____PPPPLLLLUUUUSSSS are defined, and LLLLAAAANNNNGGGGUUUUAAAAGGGGEEEE____CCCC and ____LLLLAAAANNNNGGGGUUUUAAAAGGGGEEEE____CCCC are not. By default, _C_C invokes the ANSI preprocessor and generates ANSI C intermediate code, just as if ----xxxxaaaannnnssssiiii were specified on the command line. Note that when the ANSI preprocessor is used, the symbol ________AAAANNNNSSSSIIII____CCCCPPPPPPPP is always defined. Normally, programmers will not care about the intermediate code, but they may want to do K&R-style preprocessing. The ----cccccccckkkkrrrr command line option makes this possible. _C_C interprets the following options (see _l_d(1) for load-time options): ----cccc Produce binaries only, suppressing the link phase. ----cccccccckkkkrrrr Do K&R preprocessing and generate K&R C. ----xxxxaaaannnnssssiiii Do ANSI preprocessing and generate ANSI C. This is the default. If more than one of ----cccccccckkkkrrrr and ----xxxxaaaannnnssssiiii is specified, the one last on the command line prevails. ----EEEE Run only the preprocessor on the C++ source files and send the result to standard output. ----FFFF Run only the preprocessor and C++-to-C translator on the C++ source files. The output is C source code suitable as a ....cccc file for _c_c(_1). Page 1 Release 6.4 OOOOCCCCCCCC((((1111)))) SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss OOOOCCCCCCCC((((1111)))) ++++IIII Save the intermediate C source file with suffix ........cccc in the current directory. ++++LLLL Output line numbers to intermediate file in #_l_i_n_e format. ----...._s_u_f_f_i_x Instead of using standard output for the ----EEEE or ----FFFF options, place the output from each C++ source file on a file with the corresponding ._s_u_f_f_i_x. ----MMMMDDDDuuuuppppddddaaaatttteeee _f_i_l_e_n_a_m_e While compiling, update _f_i_l_e_n_a_m_e to contain header, library, and runtime _m_a_k_e(1) dependencies for _C_C's output file. ----aaaallllllll Link in all of the objects from the archive following this flag. Used in conjunction with the ----sssshhhhaaaarrrreeeedddd flag when creating a shared object. ++++dddd Suppress inline expansion of functions declared as inline. ----ddddoooollllllllaaaarrrr Allow the dollar sign ($) as a character in C++ identifiers. ----nnnn Print commands generated by _C_C but do not execute them. ----nnnnooooffffiiiilllltttt Normally, _C_C pipes the error output from the link phase through the filter /_u_s_r/_l_i_b/_c++/_c++_f_i_l_t so that the names of undefined symbols will be translated from their internal, encoded ("mangled") form to a more easily readable form: for example, foo__Fii will be translated to foo(int, int). ----nnnnooooffffiiiilllltttt suppresses this filtering operation. ----oooo _o_u_t_p_u_t Name the final output file _o_u_t_p_u_t. ++++pppp Disallow all anachronistic constructs. Ordinarily the translator warns about anachronistic constructs. Under ++++pppp (for "pure"), the translator will not compile code containing anachronistic constructs, such as "assignment to this." See the _3._0 _C++ _P_r_o_d_u_c_t _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l for a list of anachronisms. ----sssshhhhaaaarrrreeeedddd Create a dynamic shared object (DSO) as the final output file. ++++vvvv print commands invoked by _C_C as they are executed (_v_e_r_b_o_s_e output). To print commands invoked by _c_c , use the ----vvvv option. ++++wwww Warn about all questionable constructs. Without the ++++wwww option, the translator issues warnings only about constructs that are almost certainly problems. ++++aaaa[[[[00001111]]]] The translator can generate either ANSI C style or "Classic C" (also known as K&R C) style declarations. The ++++aaaa option specifies which style of declarations to produce. ++++aaaa0000 causes the Page 2 Release 6.4 OOOOCCCCCCCC((((1111)))) SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss OOOOCCCCCCCC((((1111)))) translator to produce "Classic C" style declarations. ++++aaaa1111, the default, causes the translator to produce ANSI C style declarations. The template instantiation system adds several options to CC. -ppppttttaaaa Instantiate a whole template class rather than only those members that are needed. -pppptttteeee_s_u_f_f_i_x Use _s_u_f_f_i_x as the standard source suffix instead of ....cccc. Only the standard suffixes ....CCCC, ....cccc++++++++, ....cccccccc, and ....ccccxxxxxxxx are allowed. -ppppttttnnnn Change the default instantiation behavior for one-file programs to that of larger programs, where instantiation is broken out separately and the repository updated. One-file programs normally have instantiation optimized so that instantiation is done into the application object itself. -ppppttttrrrr_p_a_t_h_n_a_m_e Specify a repository, with ./ptrepository the default. If several repositories are given, only the first is writable, and the default repository is ignored unless explicitly named. -ppppttttssss Split instantiations into separate object files, with one function per object (including overloaded functions), and all class static data and virtual functions grouped into a single object. -ppppttttvvvv Turn on verbose or verify mode, which displays each phase of instantiation as it occurs, together with the elapsed time in seconds that phase took to complete. Use of this option is recommended if you are new to templates. With verbose mode, the reason why an instantiation is done and the exact CC command used are displayed. In release 3.0, ----ppppttttssss and ----ppppttttaaaa cannot be used together, that is, ----ppppttttssss can only be used to split up _n_e_e_d_e_d functions rather than _a_l_l functions. The template instantiation mechanism uses the system utilities _s_o_r_t and _g_r_e_p. It uses the search path to find these utilities, so if there is a version of one of them in the search path ahead of the standard system version, surprising errors may occur. ----DDDD, ----IIII, ----UUUU, ----PPPP, and ----MMMM are passed to the preprocessor (see _c_p_p(1)). ----MMMM also causes processing to stop after the preprocessor. It is used to generate _m_a_k_e dependencies, which are written to the standard output. All other options are passed to the C compiler, except the ----jjjj option, which is not supported by CC. Page 3 Release 6.4 OOOOCCCCCCCC((((1111)))) SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss OOOOCCCCCCCC((((1111)))) FFFFIIIILLLLEEEESSSS file.{C,c,c++,cc,cxx} C++ source files. file..c cfront output file.o object file a.out linked output /usr/bin/CC C++ driver /usr/lib/cpp C preprocessor /usr/lib/c++/cfront C++-to-C translator /usr/bin/cc C compiler /usr/lib/c++/markc++ mark object files as C++ /usr/lib/c++/c++patch link global constructors and destructors /usr/lib/libC.a C++ library /usr/lib/libc.a standard C library; see Section (3) in the _U_N_I_X _S_y_s_t_e_m _V _P_r_o_g_r_a_m_m_e_r _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l /usr/include/CC standard directory for C++-specific header files. SSSSEEEEEEEE AAAALLLLSSSSOOOO Margaret Ellis and Bjarne Stroustrup, _T_h_e _A_n_n_o_t_a_t_e_d _C++ _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, Addison-Wesley 1990. cc(1), ld(1), cpp(1), as(1), mips2(5). DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS The diagnostics produced by _C_C itself are intended to be self- explanatory. Occasional messages may be produced by _l_d(1). No messages should be produced by _c_c(1). NNNNOOOOTTTTEEEESSSS _C_C always defines the symbol ________ccccpppplllluuuusssspppplllluuuussss to the preprocessor. The -j option is not supported by OCC. (It is supported by CC). -O3 compilations require all the source files to be listed on a single commandline. Page 4 Release 6.4